//public class APITest {
//    @Test
//    public void test1() {
//        Date d = new date();
//        System.out.println(d);
//    }
//
//    @Test
//    public void test2() {
//        long time = System.currentTimeMillis();
//        System.out.println(time); // 当前系统时间距离1970-1-1 0:0:0 0毫秒的时间差，以毫秒为单位
//
//    }
//
//    @Test
//    public void test3() {
//        Date d = new Date();
//        long time = d.getTime();
//        System.out.println(time);
//    }
//
//    @Test
//    public void test4() {
//        long time = 1559807047979L;
//        Date d = new Date(time);
//        System.out.println(d);
//    }
//
//    @Test
//    public void test5() {
//        long time = Long.MAX_VALUE;
//        Date d = new Date(time);
//        System.out.println(d);
//    }
//
//    @Test
//    public void test6() {
//        Date d = new Date();
//        SimpleDateFormat sf = new SimpleDateFormat("yyyy/MM/dd/ HH:mm:ss:SSS E");
//        String str = sf.format(d); // 按照 pattern 指定的格式来格式化
//        System.out.println(str);
//    }
//
//    @Test
//    public void test7() throws ParseException {
//        SimpleDateFormat sf = new SimpleDateFormat("yyyy/MM/dd/ HH:mm:ss:SSS E");
//        String str = "2024/11/07/ 22:19:00:083 周四"; // 这里的日期格式必须与 pattern 的格式完全相同，不然在解析时会抛出 ParseException 异常
//        Date d = sf.parse(str); // 按照 pattern 指定的模式来解析
//        System.out.println(d);
//
//        Calendar calendar = Calendar.getInstance();
//    }
//}

import org.junit.Test;

import java.util.*;

public class APITest {
    @Test
    public void test1() {
        Calendar c = Calendar.getInstance();
        System.out.println(c);

        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH) + 1;
        int day = c.get(Calendar.DATE);
        int hour = c.get(Calendar.HOUR_OF_DAY);
        int minute = c.get(Calendar.MINUTE);

        System.out.println(year + "-" + month + "-" + day + " " + hour + ":" + minute);
    }

    @Test
    public void test2() {
        TimeZone t = TimeZone.getTimeZone("America/Los_Angeles");
        Calendar c = Calendar.getInstance(t);
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH) + 1;
        int day = c.get(Calendar.DATE);
        int hour = c.get(Calendar.HOUR_OF_DAY);
        int minute = c.get(Calendar.MINUTE);

        System.out.println(year + "-" + month + "-" + day + " " + hour + ":" + minute);
    }

    @Test
    public void test3() {
//        Calendar calendar = Calendar.getInstance();
//        // 从一个 Calendar 对象中获取 Date 对象
//        Date date = calendar.getTime();
//
//        // 使用给定的 Date 设置此 Calendar 的时间
//        date = new Date(234234235235L);
//        calendar.setTime(date);
//        calendar.set(Calendar.DAY_OF_MONTH, 8);
//        System.out.println("当前时间日设置为8后,时间是:" + calendar.getTime());
//
//        calendar.add(Calendar.HOUR, 2);
//        System.out.println("当前时间加2小时后,时间是:" + calendar.getTime());
//
//        calendar.add(Calendar.MONTH, -2);
//        System.out.println("当前日期减2个月后,时间是:" + calendar.getTime());

//        LocalDate now = LocalDate.now();
//        LocalDate localDate = LocalDate.of(2024, Month.APRIL, 22);
//        System.out.println(localDate);

//        LocalDateTime now = LocalDateTime.now();
//        System.out.println(now);
    }

    @Test
    public void test20() {
        StringJoiner sj = new StringJoiner(", ", "[", "]");
        sj.add("1");
        sj.add("2");
        sj.add("3");
        sj.add("4");
        sj.add("5");
        sj.add("6");
        System.out.println(sj);
    }

    @Test
    public void test4() {
        ArrayList<String> list1 = new ArrayList<>();
//        ArrayList<Object> list2 = new ArrayList<>();
//        test(list1);
//        test(list2);

        list1.add("1");
        list1.add("2");
        list1.add("3");
        list1.add("4");
        list1.add("5");
        list1.add("6");

        Map map = new LinkedHashMap();
//        System.out.println(map.computeIfPresent(list1, (key, value) -> value));
    }

//    public <E> void test(ArrayList<E> list) {
//    }

    @Test
    public void test11() {
//        HashMap map = new HashMap();
//        map.put(1, "1");
//        map.put(2, "1");
//        map.put(3, "1");
//        map.put(4, "1");
//        map.put(5, "1");
//        System.out.println(map);
//        Set set = map.entrySet();
//        set.clear();
//        System.out.println(map);

//        Stack<Integer> stack = new Stack<>();
        Deque<Integer> stack = new LinkedList<>();
        stack.push(1);
//        Queue<Integer> queue = new ArrayDeque<>();
        Collection<Integer> synchronizedStack = Collections.synchronizedCollection(stack);
        synchronizedStack.add(1);
    }
}

//class GenericTest {
//    public <T> T max(T lhs, T rhs) {
//    }
//}